BulkRate supports .fcl logon scripts. These are the same style of logon scripts supported by FirstClass® Client. These are not to be confused with the "regular" BulkRate scripts which allow you to control BulkRate's actions.
How logon scripts work
A logon script takes over after the "CONNECT" message is received from the modem. It then performs a series of actions, typically waiting for certain prompts and sending certain characters until it reaches the end of the script. At this point, BulkRate expects to be able to proceed normally with the logon process.
Do I need a logon script?
If you do not use a .fcl script currently with FirstClass® Client, you do not need a logon script. Logon scripts are typically used when the connection is routed through one computer before being transferred to the FirstClass® Host. If you do use a .fcl script, the same script will probably work with BulkRate.
How do I set up a logon script?
If you are going to use an existing logon script, make a copy of the one you are using with FirstClass® Client. Rename it "Service filename.fcl", where "Service filename" is the name of the Service file. Put the script in the same folder as the BulkRate application.
If you are creating a logon script, name it and place it as above.
BulkRate will look for the script during logon; if it finds one with the proper name, it will run it.
How do I write a logon script?
Here are the supported commands:
waitFor "text1" "text2" -t
Waits for text1 or text2 to be received. Text2 is optional. t is a timeout value in 1/60ths of a second. So if you need BulkRate to wait for a password prompt, but proceed after 2 seconds if it isn't received:
waitFor "Password:" -120
send "text"
Sends text over the serial port.
delay t
Delay t 1/60ths of a second.
display "text"
Writes text to the log.
Text in all commands supports three special characters, indicated by "\r", "\n", and "\\". These send a return character, the linefeed character, and the backslash character respectively.
A sample logon script might look like this:
delay 60
send "\r\r"
waitFor "ID:" -120
send "ABC\r"
waitFor "Password:" -120
send "123\r"
delay 60
Now, in English:
Delay 1 second.
Send two return characters.
Wait for "ID:" prompt, or 2 seconds, whichever is first.
Send "ABC" and return.
Wait for "Password:" prompt, or 2 seconds, whichever is first.
Send "123" and return.
Delay 1 second.
At this point, the standard logon procedure for the FirstClass® CLUI would happen.
BulkRate and FC Server on Windows NT
A problem has come to my attention with using BulkRate with a FirstClass Server running under Windows NT.
Apparently the CLUI behaves differently under Windows NT than it does under MacOS. The main problem is that it seems to drop the first character of each line sent to it in the message editor. (Or another way to look at it is that the first character after each return character is lost - it's probably assuming these are linefeeds.)
Fortunately, the fix is simple, as long as you are using BulkRate 2.1(final) or later:
Create an .fcl logon script for the Service that is running under Windows NT. The script should be named service_file_name.fcl where service_file_name is the name of the service file. The script should be saved in the same folder as the BulkRate application. You may use any text editor to create the .fcl script - TeachText or SimpleText are perfect. (You can use a word processor, but be sure to save in TEXT format, and no the word processor's native format.) The .fcl logon script should contain exactly one line:
delay 60
This tricks BulkRate into thinking it is connecting via a terminal server or packet network and causes BulkRate to adjust its communications style to send an additional character after each return.